Wstęp

Celem raportu było sprawdzenie wpływu wartości wyników badania krwi na śmiertelność COVID-19, więcej informacji na temat samych badań oraz ich przeprowadzania można znaleźć w tym artykule.

Raport składa się z przedstawienia danych, zbadania korelacji między smiertelnością a wynikami poszczególnych badań oraz próbą zbudowania klasyfikatora który na podstawie wyników badań na wczesnym etapie choroby będzie w stanie wskazać pacjentów z większą szansą na zgon. Analiza pokazała że największy wpływ na śmiertelność maja te badania: Lactate_dehydrogenase, X…lymphocyte, neutrophils_count, neutrophils… oraz wiek.

Wykorzystane pakiety

##  [1] "reshape2"  "rstatix"   "caret"     "lattice"   "corrplot"  "plotly"   
##  [7] "crosstalk" "tidyr"     "ggplot2"   "dplyr"     "tibble"    "openxlsx" 
## [13] "readxl"    "stats"     "graphics"  "grDevices" "utils"     "datasets" 
## [19] "methods"   "base"

Charakterystyka danych

Zbiór danych składał się ze zbioru badań 375 pacjentów, przy czym każde badanie składało się z wybranych testów oraz daty wykonania badania. Dodatkowo każdy z pacjentów był opisany przez wiek, płeć, datę przyjęcia do szpitala, datę opuszczenia szpitala oraz parametr określający, czy pacjent przeżył. Podstawowe statystyki związane z konkretnymi badaniami zostały przedstawione poniżej.

Podstawowe statystyki testów

Hypersensitive_cardiac_troponinI Min. : 1.9 1st Qu.: 4.4 Median : 20.6 Mean : 1223.2 3rd Qu.: 223.8 Max. :50000.0 NA’s :5613
hemoglobin Min. : 6.4 1st Qu.:113.0 Median :125.0 Mean :123.1 3rd Qu.:137.0 Max. :178.0 NA’s :5145
Serum_chloride Min. : 71.50 1st Qu.: 99.05 Median :102.10 Mean :103.14 3rd Qu.:105.65 Max. :140.40 NA’s :5145
Prothrombin_time Min. : 11.50 1st Qu.: 13.60 Median : 14.80 Mean : 16.68 3rd Qu.: 16.70 Max. :120.00 NA’s :5458
procalcitonin Min. : 0.020 1st Qu.: 0.040 Median : 0.100 Mean : 1.107 3rd Qu.: 0.405 Max. :57.170 NA’s :5661
eosinophils… Min. :0.000 1st Qu.:0.000 Median :0.100 Mean :0.629 3rd Qu.:0.800 Max. :8.600 NA’s :5163
Interleukin_2_receptor Min. : 61.0 1st Qu.: 459.5 Median : 676.5 Mean : 907.2 3rd Qu.:1155.5 Max. :7500.0 NA’s :5852
Alkaline_phosphatase Min. : 17.00 1st Qu.: 54.00 Median : 69.50 Mean : 82.47 3rd Qu.: 95.00 Max. :620.00 NA’s :5190
albumin Min. :13.60 1st Qu.:27.40 Median :32.20 Mean :32.01 3rd Qu.:36.60 Max. :48.60 NA’s :5186
basophil… Min. :0.00 1st Qu.:0.10 Median :0.20 Mean :0.21 3rd Qu.:0.30 Max. :1.70 NA’s :5163
Interleukin_10 Min. : 5.00 1st Qu.: 5.00 Median : 5.90 Mean : 16.07 3rd Qu.: 12.35 Max. :1000.00 NA’s :5853
Total_bilirubin Min. : 2.50 1st Qu.: 7.40 Median : 10.70 Mean : 16.70 3rd Qu.: 16.77 Max. :505.70 NA’s :5190
Platelet_count Min. : -1.0 1st Qu.:109.0 Median :178.0 Mean :184.3 3rd Qu.:248.0 Max. :558.0 NA’s :5163
monocytes… Min. : 0.300 1st Qu.: 2.800 Median : 5.700 Mean : 6.155 3rd Qu.: 8.600 Max. :53.000 NA’s :5162
antithrombin Min. : 20.00 1st Qu.: 74.00 Median : 86.00 Mean : 85.32 3rd Qu.: 97.00 Max. :136.00 NA’s :5790
Interleukin_8 Min. : 5.000 1st Qu.: 8.675 Median : 16.000 Mean : 83.088 3rd Qu.: 35.200 Max. :6795.000 NA’s :5852
indirect_bilirubin Min. : 0.100 1st Qu.: 3.800 Median : 5.400 Mean : 6.889 3rd Qu.: 8.000 Max. :145.100 NA’s :5214
Red_blood_cell_distribution_width Min. :10.60 1st Qu.:12.00 Median :12.60 Mean :13.07 3rd Qu.:13.70 Max. :27.10 NA’s :5197
neutrophils… Min. : 1.7 1st Qu.:65.1 Median :82.4 Mean :77.6 3rd Qu.:92.3 Max. :98.9 NA’s :5163
total_protein Min. :31.80 1st Qu.:61.00 Median :65.90 Mean :65.30 3rd Qu.:70.45 Max. :88.70 NA’s :5189
Quantification_of_Treponema_pallidum_antibodies Min. : 0.020 1st Qu.: 0.040 Median : 0.050 Mean : 0.132 3rd Qu.: 0.070 Max. :11.950 NA’s :5841
Prothrombin_activity Min. : 6.00 1st Qu.: 65.00 Median : 81.00 Mean : 78.55 3rd Qu.: 95.00 Max. :142.00 NA’s :5461
HBsAg Min. : 0.000 1st Qu.: 0.000 Median : 0.010 Mean : 8.306 3rd Qu.: 0.010 Max. :250.000 NA’s :5841
mean_corpuscular_volume Min. : 61.60 1st Qu.: 86.90 Median : 90.10 Mean : 90.39 3rd Qu.: 93.90 Max. :118.90 NA’s :5163
hematocrit Min. :14.50 1st Qu.:33.50 Median :36.60 Mean :36.55 3rd Qu.:39.90 Max. :52.30 NA’s :5163
White_blood_cell_count Min. : 0.13 1st Qu.: 4.94 Median : 7.72 Mean : 15.60 3rd Qu.: 12.72 Max. :1726.60 NA’s :4993
Tumor_necrosis_factorα Min. : 4.00 1st Qu.: 6.70 Median : 8.60 Mean : 11.58 3rd Qu.: 11.50 Max. :168.00 NA’s :5852
mean_corpuscular_hemoglobin_concentration Min. :286.0 1st Qu.:333.0 Median :343.0 Mean :342.8 3rd Qu.:350.0 Max. :514.0 NA’s :5163
fibrinogen Min. : 0.500 1st Qu.: 3.050 Median : 4.120 Mean : 4.294 3rd Qu.: 5.480 Max. :10.780 NA’s :5554
Interleukin_1β Min. : 5.00 1st Qu.: 5.00 Median : 5.00 Mean : 6.51 3rd Qu.: 5.00 Max. :88.50 NA’s :5852
Urea Min. : 0.800 1st Qu.: 4.000 Median : 5.985 Mean : 9.589 3rd Qu.:11.400 Max. :68.400 NA’s :5184
lymphocyte_count Min. : 0.000 1st Qu.: 0.460 Median : 0.800 Mean : 1.017 3rd Qu.: 1.310 Max. :52.420 NA’s :5163
PH_value Min. :5.000 1st Qu.:6.000 Median :6.500 Mean :6.484 3rd Qu.:7.294 Max. :7.565 NA’s :5736
Red_blood_cell_count Min. : 0.100 1st Qu.: 3.680 Median : 4.140 Mean : 9.288 3rd Qu.: 4.650 Max. :749.500 NA’s :4993
Eosinophil_count Min. :0.000 1st Qu.:0.000 Median :0.010 Mean :0.039 3rd Qu.:0.060 Max. :0.490 NA’s :5163
Corrected_calcium Min. :1.650 1st Qu.:2.270 Median :2.360 Mean :2.355 3rd Qu.:2.440 Max. :2.790 NA’s :5206
Serum_potassium Min. : 2.760 1st Qu.: 3.950 Median : 4.410 Mean : 4.509 3rd Qu.: 4.870 Max. :12.800 NA’s :5140
glucose Min. : 1.000 1st Qu.: 5.550 Median : 6.990 Mean : 8.889 3rd Qu.:10.260 Max. :43.010 NA’s :5345
neutrophils_count Min. : 0.06 1st Qu.: 3.09 Median : 5.85 Mean : 7.81 3rd Qu.:10.95 Max. :33.88 NA’s :5163
Direct_bilirubin Min. : 1.600 1st Qu.: 3.225 Median : 4.800 Mean : 9.887 3rd Qu.: 8.275 Max. :360.600 NA’s :5190
Mean_platelet_volume Min. : 8.50 1st Qu.:10.10 Median :10.80 Mean :10.91 3rd Qu.:11.50 Max. :15.00 NA’s :5258
ferritin Min. : 17.8 1st Qu.: 377.2 Median : 711.0 Mean : 1379.1 3rd Qu.: 1425.2 Max. :50000.0 NA’s :5837
RBC_distribution_width_SD Min. : 31.30 1st Qu.: 38.50 Median : 40.90 Mean : 42.44 3rd Qu.: 44.70 Max. :113.30 NA’s :5197
Thrombin_time Min. : 13.00 1st Qu.: 15.60 Median : 16.80 Mean : 18.17 3rd Qu.: 18.38 Max. :161.90 NA’s :5554
X…lymphocyte Min. : 0.000 1st Qu.: 3.925 Median :11.450 Mean :15.392 3rd Qu.:24.975 Max. :60.000 NA’s :5162
HCV_antibody_quantification Min. :0.020 1st Qu.:0.040 Median :0.060 Mean :0.117 3rd Qu.:0.090 Max. :2.090 NA’s :5841
D.D_dimer Min. : 0.210 1st Qu.: 0.603 Median : 2.155 Mean : 7.943 3rd Qu.:21.000 Max. :60.000 NA’s :5490
Total_cholesterol Min. :0.100 1st Qu.:3.010 Median :3.630 Mean :3.689 3rd Qu.:4.265 Max. :7.300 NA’s :5189
aspartate_aminotransferase Min. : 6.00 1st Qu.: 19.50 Median : 27.00 Mean : 46.53 3rd Qu.: 42.00 Max. :1858.00 NA’s :5185
Uric_acid Min. : 43.0 1st Qu.: 183.2 Median : 243.7 Mean : 276.1 3rd Qu.: 333.8 Max. :1176.0 NA’s :5186
HCO3. Min. : 6.30 1st Qu.:21.00 Median :23.50 Mean :23.14 3rd Qu.:25.90 Max. :36.30 NA’s :5186
calcium Min. :1.170 1st Qu.:1.980 Median :2.080 Mean :2.078 3rd Qu.:2.190 Max. :2.620 NA’s :5141
Amino.terminal_brain_natriuretic_peptide_precursor.NT.proBNP. Min. : 5 1st Qu.: 150 Median : 585 Mean : 3669 3rd Qu.: 2625 Max. :70000 NA’s :5645
Lactate_dehydrogenase Min. : 110.0 1st Qu.: 218.0 Median : 340.0 Mean : 474.2 3rd Qu.: 601.8 Max. :1867.0 NA’s :5186
platelet_large_cell_ratio Min. :11.20 1st Qu.:25.60 Median :30.90 Mean :31.77 3rd Qu.:37.20 Max. :62.20 NA’s :5258
Interleukin_6 Min. : 1.500 1st Qu.: 4.772 Median : 19.265 Mean : 112.308 3rd Qu.: 60.167 Max. :5000.000 NA’s :5848
Fibrin_degradation_products Min. : 4.00 1st Qu.: 4.00 Median : 17.90 Mean : 61.35 3rd Qu.:150.00 Max. :190.80 NA’s :5790
monocytes_count Min. : 0.010 1st Qu.: 0.270 Median : 0.410 Mean : 0.526 3rd Qu.: 0.580 Max. :39.920 NA’s :5163
PLT_distribution_width Min. : 8.00 1st Qu.:11.10 Median :12.40 Mean :13.01 3rd Qu.:14.30 Max. :25.30 NA’s :5258
globulin Min. :10.10 1st Qu.:29.70 Median :32.70 Mean :33.24 3rd Qu.:36.50 Max. :50.60 NA’s :5190
γ.glutamyl_transpeptidase Min. : 3.00 1st Qu.: 22.00 Median : 34.00 Mean : 55.34 3rd Qu.: 58.00 Max. :732.00 NA’s :5190
International_standard_ratio Min. : 0.840 1st Qu.: 1.030 Median : 1.140 Mean : 1.313 3rd Qu.: 1.330 Max. :13.480 NA’s :5461
basophil_count… Min. :0.000 1st Qu.:0.010 Median :0.010 Mean :0.017 3rd Qu.:0.020 Max. :0.120 NA’s :5163
X2019.nCoV_nucleic_acid_detection Min. :-1 1st Qu.:-1 Median :-1 Mean :-1 3rd Qu.:-1 Max. :-1 NA’s :5619
mean_corpuscular_hemoglobin Min. :20.4 1st Qu.:29.7 Median :30.9 Mean :31.0 3rd Qu.:32.2 Max. :50.8 NA’s :5163
Activation_of_partial_thromboplastin_time Min. : 21.80 1st Qu.: 35.30 Median : 39.20 Mean : 41.52 3rd Qu.: 44.12 Max. :144.00 NA’s :5552
High_sensitivity_C.reactive_protein Min. : 0.10 1st Qu.: 5.70 Median : 51.50 Mean : 76.24 3rd Qu.:118.50 Max. :320.00 NA’s :5383
HIV_antibody_quantification Min. :0.05 1st Qu.:0.07 Median :0.09 Mean :0.10 3rd Qu.:0.11 Max. :0.27 NA’s :5842
serum_sodium Min. :115.4 1st Qu.:137.7 Median :140.4 Mean :141.6 3rd Qu.:143.5 Max. :179.7 NA’s :5145
thrombocytocrit Min. :0.010 1st Qu.:0.150 Median :0.210 Mean :0.212 3rd Qu.:0.270 Max. :0.510 NA’s :5258
ESR Min. : 1.00 1st Qu.: 14.00 Median : 28.00 Mean : 33.69 3rd Qu.: 45.50 Max. :110.00 NA’s :5737
glutamic.pyruvic_transaminase Min. : 5.00 1st Qu.: 16.00 Median : 24.00 Mean : 38.86 3rd Qu.: 41.00 Max. :1600.00 NA’s :5189
eGFR Min. : 2.00 1st Qu.: 63.58 Median : 87.90 Mean : 81.56 3rd Qu.:103.97 Max. :224.00 NA’s :5184
creatinine Min. : 11.00 1st Qu.: 58.00 Median : 76.00 Mean : 109.93 3rd Qu.: 98.25 Max. :1497.00 NA’s :5184

Analiza danych o pacjentach

Zbiór danych zawiera informacje o 151 kobietach oraz 224 mężczyznach; 174 pacjentów zmarło a 201 przeżyło. Poniższe wykresy pokazują porównania liczby pacjentów w zależnoci od płci, grupy wiekowej oraz śmiertelności.

Analizując wykres Wyk.3, mogłoby się wydawać, że śmiertelność wśród kobiet jest zauważalnie mniejsza niż wśród mężczyzn ale fakt ten wynika raczej z tego że wśród pacjentów w wieku 50+ więkość stanowią mężczyźni (co pokazuje wykres Wyk.2) a właśnie dla wieku 50+ śmiertelność drastycznie rośnie (co pokazuje wykres Wyk.3). Podsumowując ze względu na nierówne rozłożenie płci pacjentów wśród grup wiekowych nie będę wykorzystywał tego parametru w dalszej analizie. Należy zwrócić uwagę wykres Wyk.3 wskazuje, że wiek pacjenta ma ogromny wpływ na to, czy pacjentowi uda się przeżyć.

Wykresy historii badań

Poniższy wykres pozwala porównać historię wyników wybranych badań dla wybranego pacjenta w czasie.

Poniższy wyres pozwala porównać historię wyników wybranego badania dla pacjetów określonych przez wiek i parametr określający czy pacjent przeżył. Oś ox pokazuje liczbę godzin od pierwszego badania aby możliwe było porównie wyników badań pacjentów przyjętych w różnym czasie.

Badanie Korelacji

W tej sekcji została zbadana korelacja między przeżywalnościa a pierwszym i ostatnim wynikiem poszczegolnych testów dla każdego pacjenta. Dzięki temu możliwe było sprawdzenie zależności wyników poszczególnych testów od śmiertelność na wczesnym i późnym etapie infekcji. Poniższe wykresy pokazują 10 testów z najwyższą korelacją do przeżywalności dla pierwszych i ostatnich pomiarów.

Porównując powższe wykresy, można zauważyć że korelacja dla ostatnich badań jest większa niż dla pierwszych. Może to wynikać z faktu że ostatnie badanie dla pacjenta, który przeżył często będzie przeprowadzane, gdy pacjent jest już w lepszym stanie. Natomiast dla pacjentów którym przeżyć się nie udało ostatnie badanie odbywa się kiedy pacjent jest w najgorszym stanie dlatego różnica w wynikach tych dwóch grup pacjentów jest największa. Warto też zauważyć że wśród 10 najwyższych korelacji dla pierwszych badań jest wiek, natomiast dla ostatnich już go nie ma. Powodowane jest to tym, że w miarę rozwoju choroby wiek pacjenta warunkuje zachowanie organizmu, a tym samym wpływa na wyniki innych testów, które ostatecznie decydują czy, pacjent przeżyje.

Klasyfikacja

Przy przeprowadzeniu klasyfikacji postanowiłem korzystać ze zbioru pierwszych wyników dla każdego pacjenta. Taka klasyfikacja ma zdecydowanie większy sens ponieważ pozwala na wczesnym etapie choroby wskazać pacjetów bardziej narażonych na śmierć. Gdybyśmy badali ostatanie testy, wyniki pewnie byłyby lepsze ponieważ różniece w wynikach testów pacjentów którzy wyzdrowieli lub nie wyzdrowieli są większe. Taka klasyfikacja ma mało sensu, ponieważ byłaby tylko wstanie wskazać pacjentów narażonych na śmierć tuż przed śmiercią, więc nie byłoby już czasu na podjęcie działań. Dodatkowo ograniczyłem zbiór badań tylko do tych którym zostało poddane minimum 85% pacjentów po to, żeby nie ograniczać zbioru pacjentów z kompletem badań tym, samym uzyskując 315 pacjentów ze wszystkimi badaniami. Dane testowe stanowią 30% wszystkich danych. Jako metodę schematu uczenia wybrałem repeatedcv z liczbą podziałow 2 oraz liczbą powtórzeń 5. Do samego uczenia wykorzystałem model z algorytmem Random Forest z parametrem ntrees równym 30.

## Confusion Matrix and Statistics
## 
##           Reference
## Prediction no yes
##        no  41   9
##        yes  2  26
##                                           
##                Accuracy : 0.859           
##                  95% CI : (0.7617, 0.9274)
##     No Information Rate : 0.5513          
##     P-Value [Acc > NIR] : 6.734e-09       
##                                           
##                   Kappa : 0.7095          
##                                           
##  Mcnemar's Test P-Value : 0.07044         
##                                           
##             Sensitivity : 0.9535          
##             Specificity : 0.7429          
##          Pos Pred Value : 0.8200          
##          Neg Pred Value : 0.9286          
##              Prevalence : 0.5513          
##          Detection Rate : 0.5256          
##    Detection Prevalence : 0.6410          
##       Balanced Accuracy : 0.8482          
##                                           
##        'Positive' Class : no              
## 

Powyższy model uzyskał Accuracy = 0.859, przy czym poniższe parametry miały największy wpływ na klasyfikacje

## rf variable importance
## 
##   only 20 most important variables shown (out of 53)
## 
##                                     Overall
## Lactate_dehydrogenase               30.3197
## X...lymphocyte                      15.4326
## neutrophils_count                   14.1453
## neutrophils...                      11.8169
## age                                  5.8817
## High_sensitivity_C.reactive_protein  5.2375
## D.D_dimer                            2.4834
## International_standard_ratio         2.0017
## albumin                              1.5856
## eGFR                                 1.5543
## Prothrombin_activity                 1.4441
## Urea                                 1.3842
## Total_bilirubin                      1.3570
## platelet_large_cell_ratio            1.2789
## mean_corpuscular_volume              1.2478
## Platelet_count                       1.0468
## RBC_distribution_width_SD            0.9552
## HCO3.                                0.9401
## Mean_platelet_volume                 0.9392
## White_blood_cell_count               0.9189

Następnie dokonałem optymlizacji parametrów uczenia wybierając tune metric = ROC, tune grid = 3:52 oraz preprocesing = center, scale;

## Confusion Matrix and Statistics
## 
##           Reference
## Prediction no yes
##        no  39   4
##        yes  4  31
##                                           
##                Accuracy : 0.8974          
##                  95% CI : (0.8079, 0.9547)
##     No Information Rate : 0.5513          
##     P-Value [Acc > NIR] : 3.51e-11        
##                                           
##                   Kappa : 0.7927          
##                                           
##  Mcnemar's Test P-Value : 1               
##                                           
##             Sensitivity : 0.9070          
##             Specificity : 0.8857          
##          Pos Pred Value : 0.9070          
##          Neg Pred Value : 0.8857          
##              Prevalence : 0.5513          
##          Detection Rate : 0.5000          
##    Detection Prevalence : 0.5513          
##       Balanced Accuracy : 0.8963          
##                                           
##        'Positive' Class : no              
## 

Optymalizacja spowodowała poprawie accuracy o trochę ponad 4%, zmieniając również ważność parametrów pokazaną poniżej.

## rf variable importance
## 
##   only 20 most important variables shown (out of 53)
## 
##                                     Overall
## Lactate_dehydrogenase                11.676
## X...lymphocyte                       10.651
## neutrophils_count                     8.725
## neutrophils...                        8.125
## age                                   6.946
## Urea                                  5.875
## White_blood_cell_count                5.321
## International_standard_ratio          5.131
## monocytes...                          4.488
## albumin                               4.434
## High_sensitivity_C.reactive_protein   3.103
## D.D_dimer                             2.924
## Prothrombin_activity                  2.840
## Prothrombin_time                      2.109
## eGFR                                  1.943
## Platelet_count                        1.931
## Red_blood_cell_distribution_width     1.920
## creatinine                            1.607
## Total_bilirubin                       1.577
## lymphocyte_count                      1.520

W przypadku klasyfikacji z optymalizacją i bez najważniejsze okazały sie pomiary Lactate_dehydrogenase, X…lymphocyte, neutrophils_count, neutrophils… oraz wiek. Patrząc na wykres poniżej przedstawiający zależność między Lactate_dehydrogenasei i X…lymphocyte a śmiercią pacjetna wydaję się że wybór parametrów przez klasyfikacje jest sensowny.